<?php
/**
 * Created by YuanXiShop.
 * User: YuanXi
 * Date: 2021/6/3 0003
 * Time: 1:26
 */

namespace admin;

use JasonGrimes\Paginator;
use models\BaseDao;
use Slince\Upload\UploadHandlerBuilder;

class Comment extends Admin
{
    function __construct()
    {
        parent::__construct();
        $this->assign('menumark','comment');
    }
    function index()
    {
        $db = new BaseDao();

        $num = $_GET['num'] ?? 1;
        //搜索条件
        $prosql['ORDER'] = ['id'=>'DESC'];

        $where = [];

        if(!empty($_GET['name'])){
            $where['product.name[~]'] = $_GET['name'];
            $name = '&name='.$_GET['name'];
        }
        if(!empty($_GET['content'])){
            $where['comment.content[~]'] = $_GET['content'];
            $content = '&content='.$_GET['content'];
        }
        if(!empty($_GET['uname'])){
            $where['comment.uname[~]'] = $_GET['uname'];
            $uname = '&uname='.$_GET['uname'];
        }

        $this->assign('get',$_GET);

        $totalItems = $db->count('comment',$where);//总页面数
        $itemsPerPage = 3;//每页显示多少条数据
        $currentPage = $num;//当前页是第几页
        $urlPattern = '/admin/comment?num=(:num)'.$name.$content.$uname;

        $paginator = new Paginator($totalItems, $itemsPerPage, $currentPage, $urlPattern);

        //从第几页开始
        $start = ($currentPage-1) * $itemsPerPage;
        $prosql['LIMIT'] = [$start,$itemsPerPage];

        $prosql = array_merge($prosql,$where);
        $data = $db->select('comment',
            ['[>]product'=>['pid'=>'id']],
            ['comment.id','comment.pid','comment.uid','comment.uip','comment.atime','comment.uname','comment.content','product.name','product.logo'],
            $prosql);

        //将数据分配给模板
        $this->assign('data',$data);
        $this->assign('fpage',$paginator);

        //标题
        $this->assign('title','评价列表');
        //输出模板
        $this->display('comment/index');
    }
    function mod($id)
    {
        $db = new BaseDao();
        $data = $db->get('comment',
            ['[>]product'=>['pid'=>'id']],
            ['comment.id','comment.pid','comment.uid','comment.uip','comment.atime','comment.uname','comment.content','product.name','product.logo'],
            ['comment.id'=>$id]
        );
        $this->assign($data);
        $this->assign('title','修改评价');
        $this->display('comment/mod');
    }
    function doupdate()
    {
        $id = $_POST['id'];

        unset($_POST['id']);

        $db = new BaseDao();

        if($db->update('comment',$_POST,['id'=>$id])){
            $this->success('/admin/comment','修改成功！');
        }else{
            $this->error('/admin/comment/mod/'.$id,'修改失败！');
        }
    }
    function del($id)
    {
        $db = new BaseDao();

        if($db->delete('comment',['id'=>$id])){
            $this->success('/admin/comment','删除成功！');
        }else{
            $this->error('/admin/comment','删除失败！');
        }
    }
    function alldel()
    {
        $db = new BaseDao();
        $num = 0;
        foreach ($_POST['id'] as $id){
            $num += $db->delete('comment',['id'=>$id]);
        }
        if($num > 0){
            $this->success('/admin/comment',$num.'篇删除成功！');
        }else{
            $this->error('/admin/comment','删除失败！');
        }
    }

}